home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-30 | 4.5 KB | 262 lines | [TEXT/CWIE] |
- { EverythingDoc.p -- document-level functions }
-
- Unit EverythingDoc;
- Interface
-
- Uses
- Types,
- Events,
- Files,
- Menus,
- EverythingEngine,
- AMDoc;
-
- type
- EverythingDoc = object (AMDoc)
-
- {data members}
- mButtonsPtr: WindowPtr;
- mCheckboxesPtr: WindowPtr;
- mRadiosPtr: WindowPtr;
- mEditTextPtr: WindowPtr;
- mStuffPtr: WindowPtr;
- mBarsPtr: WindowPtr;
-
- {methods - public}
- Procedure Initialize; Override;
-
- Function DoCommand (inCommand: longint): Boolean; Override;
-
- {methods - internal}
- Procedure OpenWindows; Override;
- Function WouldCloseDoc (windPtr: WindowPtr): Boolean; Override;
-
- Function GetEngine: EverythingEngine;
-
- Procedure DoModalButtons;
- Procedure DoModalCheckboxes;
- Procedure DoModalRadios;
- Procedure DoModalText;
- Procedure DoModalStuff;
- Procedure DoModalMoreStuff;
- end;
-
- {----------}
- Function NewEverythingDoc: EverythingDoc;
-
- {----------}
- Implementation
-
- Uses
- ResourceDefs,
- Globals,
-
- ModalButtons,
- ModalCheckboxes,
- ModalRadios,
- ModalText,
- ModalStuff,
- ModalBars,
- DDocData,
- Buttons,
- DDocData,
- Checkboxes,
- DDocData,
- Radios,
- DDocData,
- EditText,
- DDocData,
- Stuff,
- DDocData,
- Bars,
- Miscellany;
-
- {----------}
- Function NewEverythingDoc: EverythingDoc;
- var
- doc: EverythingDoc;
- begin
- New (doc);
- if doc <> nil then begin
- doc.Initialize;
- end;
- NewEverythingDoc := doc;
- end;
-
- {----------}
- Procedure EverythingDoc.Initialize;
- begin
- inherited Initialize;
-
- mEngine := NewEverythingEngine;
-
- mButtonsPtr := nil;
- mCheckboxesPtr := nil;
- mRadiosPtr := nil;
- mEditTextPtr := nil;
- mStuffPtr := nil;
- mBarsPtr := nil;
- end;
-
- {----------}
- Function EverythingDoc.GetEngine: EverythingEngine;
- begin
- GetEngine := EverythingEngine (mEngine);
- end;
-
- {----------}
- Procedure EverythingDoc.OpenWindows;
- var
- engine: EverythingEngine;
- Begin
- engine := GetEngine;
-
- { replace this code to get data from someplace useful }
-
- CreateButtons (self, engine.GetDocData);
- CreateCheckboxes (self, engine.GetDocData);
- CreateRadios (self, engine.GetDocData);
- CreateEditText (self, engine.GetDocData);
- CreateStuff (self, engine.GetDocData);
- CreateBars (self, engine.GetDocData);
- End;
-
- {----------}
- Function EverythingDoc.WouldCloseDoc (
- windPtr: WindowPtr): Boolean;
- var
- numOpen: integer;
- Begin
- numOpen := 0;
-
- if mButtonsPtr <> nil then numOpen := numOpen + 1;
- if mCheckboxesPtr <> nil then numOpen := numOpen + 1;
- if mRadiosPtr <> nil then numOpen := numOpen + 1;
- if mEditTextPtr <> nil then numOpen := numOpen + 1;
- if mStuffPtr <> nil then numOpen := numOpen + 1;
- if mBarsPtr <> nil then numOpen := numOpen + 1;
-
- WouldCloseDoc := (numOpen <= 1);
- End;
-
- {----------}
- Procedure EverythingDoc.DoModalButtons;
- var
- dummy: integer;
- begin
- if GetModalButtons then begin
- { do something }
- end;
- end;
-
- {----------}
- Procedure EverythingDoc.DoModalCheckboxes;
- var
- data: DModalCheckboxesData;
- begin
- data := NewDModalCheckboxesData;
-
- { add your code to set data fields }
-
- if GetModalCheckboxes (data) then begin
- { do something with data }
- end;
- Dispose (data);
- end;
-
- {----------}
- Procedure EverythingDoc.DoModalRadios;
- var
- data: DModalRadiosData;
- begin
- data := NewDModalRadiosData;
-
- { add your code to set data fields }
-
- if GetModalRadios (data) then begin
- { do something with data }
- end;
- Dispose (data);
- end;
-
- {----------}
- Procedure EverythingDoc.DoModalText;
- var
- data: DModalTextData;
- begin
- data := NewDModalTextData;
-
- { add your code to set data fields }
-
- if GetModalText (data) then begin
- { do something with data }
- end;
- Dispose (data);
- end;
-
- {----------}
- Procedure EverythingDoc.DoModalStuff;
- var
- data: DModalStuffData;
- begin
- data := NewDModalStuffData;
-
- { add your code to set data fields }
-
- if GetModalStuff (data) then begin
- { do something with data }
- end;
- Dispose (data);
- end;
-
- {----------}
- Procedure EverythingDoc.DoModalMoreStuff;
- var
- data: DModalBarsData;
- begin
- data := NewDModalBarsData;
-
- { add your code to set data fields }
-
- if GetModalBars (data) then begin
- { do something with data }
- end;
- Dispose (data);
- end;
-
- {----------}
- Function EverythingDoc.DoCommand (
- inCommand: longint): Boolean;
- begin
- DoCommand := true;
- case inCommand of
- cmdSave:
- DoSave;
- cmdSaveAs:
- DoSaveAs;
- cmdRevert:
- DoRevert;
- cmdPageSetup:
- DoPageSetup;
- cmdPrint:
- DoPrint;
- cmdModalButtons:
- DoModalButtons;
- cmdModalCheckboxes:
- DoModalCheckboxes;
- cmdModalRadios:
- DoModalRadios;
- cmdModalText:
- DoModalText;
- cmdModalStuff:
- DoModalStuff;
- cmdModalMoreStuff:
- DoModalMoreStuff;
-
- otherwise
- DoCommand := false;
- end; {case}
- end;
-
- end.
-